
namespace ClassBuilderWizard.Interfaces
{
    /// <summary>
    /// Classes implementing this interface provide the Class Builder Wizard information about database objects.
    /// </summary>
    public interface IDatabasePlugin : IPlugin
    {
        /// <summary>
        /// Execute the database plugin. This is the plugin's main method.
        /// </summary>
        /// <param name="parameters">The plugin parameters that will be passed by the Class Builder Wizard</param>
        /// <returns>The DatabaseObject entity used by the Class Builder Wizard to construct the entity class</returns>
        DatabaseObject ExecutePlugin(Parameters parameters);
    }
}
